The place of test design techniques in the test process
In the “Planning” phase, it is determined for every test type whether test design techniques will be applied, and if
so, which ones. The choice of a particular test design technique mainly depends on:
-
The system characteristics (usually the quality characteristics) that are to be tested
-
The depth of testing to which these system characteristics will be subjected
-
The available relevant information on the system characteristics. This defines the test basis for the test design
technique.
-
The appropriate coverage types – together with the basic techniques – that can be applied to the test basis.
Test design techniques are applied in the “Specification” phase, in which the test cases and test scripts are specified
in five generic steps:
-
Identifying test situations
-
Creating logical test cases
-
Creating physical test cases
-
Establishing the starting point
-
Creating the test script
The first two steps result in the logical test design, with which the required coverage is guaranteed. The last three
steps result in the physical test design that will provide sound preparation for the test execution. See also section
Essential Test Design Concepts.
Setup and structure of this guideline
This guideline offers a varied set of test design techniques that most organisations can apply immediately. The
list is not exhaustive. To supplement it, a test organisation could consult the literature, such as [Beizer, 1990] and
[Copeland, 2003], or even create new techniques, as described at the end of this introduction.
The description of each test design technique in this section covers the following subjects:
-
Description - This provides a concise impression of the technique by means of a brief sketch of the most important
features, such as:
-
The goal of the test
-
The test basis required
-
The basic techniques applied
-
Tips for variations in the technique.
-
Points of focus in the steps - This explains how the generic steps are specifically elaborated for the relevant
test design technique.
The emphasis is on the first two steps, in which the test situations and logical test cases are designed, since this is
where the biggest distinction exists between the various test design techniques.
The next two steps, in which the logical test cases are translated into physical test cases, are generally the same for
most test design techniques and therefore are given less emphasis. They have already largely been described in the
sections Task: Create Test Specifications (AST) and Essential Test Design Concepts. The final step, “Creating the test script”, is not
set out in this section, since the process is too organisation-specific and does not vary per test design
technique.
Where possible, a concrete example has been set out in detail. This can be used as a test-specification template for
the relevant test design technique. For a detailed explanation of the applied basic techniques, section Coverage Types And Basic Techniques should be consulted.
Creating new test design techniques
Test design techniques exist in many variants and combinations. A test design technique is a specific application of
the general basic techniques to a company-specific situation. Depending on which system characteristics a company
attaches importance to, and how the system behaviour is defined, a company can formulate its own tailor-made test
design technique. In creating such a ‘new’ test design technique, the following questions should be answered:
-
What is to be tested? - This says something about the quality characteristics or test type for which the test
design technique is intended.
-
What information is available for this? - All the available relevant information should be sought out and
collected. This defines the test basis for the test design technique.
-
What kind of situations are to be tested, and how thoroughly should they be covered? - This should be expressed in
the definition of one or more coverage types and associated basic techniques.
-
In which form should the test design be documented? - Are the test specifications to be established as text, in
tables or spreadsheets, or in a specific test tool?
Overview of the test design techniques
Table 1 summarises the most important features of the test design techniques discussed here. This can be of assistance
in comparing the techniques and in selecting the most suitable ones.
Test design technique
|
Coverage types / basic techniques
|
Test basis
|
Quality characteristic / Test
type
|
Decision Table Test
|
Multiple condition coverage
|
Individual conditions of decision
tables, without structure.
|
Detail functionality
|
Data Combination Test
|
Equivalence classes and (Multiple
condition coverage or pairwise testing)
|
All types of test basis
|
Overall functionality
Detail functionality
|
Elementary
Comparison Test
|
Modified condition / decision
coverage
|
Structured functional specifications,
such as pseudo-code
|
Detail functionality
|
Error Guessing
|
--
|
All types of test basis
|
Diverse
|
Exploratory Testing
|
Diverse, according to choice
|
All types of test basis
|
Diverse
|
Data Cycle Test
|
CRUD and Decision coverage
|
CRUD matrix
Data-integrity rules
|
Overall functionality
Connectivity
Suitability
|
Process Cycle Test
|
Path coverage test
depth level 2
|
Structured description of business or
operating processes
|
Suitability
|
Real-Life Test
|
Statistically responsible
simulation
|
Operational profiles
Load
profiles
|
Effectivity
Connectivity
Performance
|
Semantic Test
|
Modified condition /
decision coverage
|
Input and output
specifications
Business rules
|
Functionality /
Validation test
|
Syntactic Test
|
Checklist
|
Input and output
specifications
Descriptions of
attributes
|
Functionality /
Validation test
User-friendliness
|
Use Case Test
|
Checklist
|
Use cases
|
Suitability
Effectivity
User-friendliness
|
Table 1: Overview of the most important features of the described test design techniques.
|